console.log([]+{}) //? [object Object]
console.log([] + {} === 0) //? false
console.log({} + [] == [] + {}) //? true
/*
? 1. [] 表示一个空数组，它被强制转换为一个空字符串 ""。 先valueOf返回本身 再toString返回""(toString被重写了)
? 2. {} 表示一个空对象，它被强制转换为字符串 "[object Object]"。先valueOf返回本身 再toString返回"[object Object]"(原型上的toString)
? 3. 因为 + 运算符既可以用于字符串的拼接，也可以用于数字的加法，所以在这个表达式中，[] 被转换为了一个空字符串，{} 被转换为了字符串 "[object Object]"。
? 4. 空字符串和 "[object Object]" 进行字符串拼接，得到的结果就是 "[object Object]"。
 */
